/*
 * Copyright (c) 2006-2018, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2018-05-17     armink       the first version
 */

#ifndef _FAL_CFG_H_
#define _FAL_CFG_H_

#include <rtconfig.h>
#include <board.h>

#define NOR_FLASH_DEV_NAME             "norflash0"      

#define FLASH_SIZE_GRANULARITY_08K   (256 * 8 * 1024)

#define HC32_FLASH_START_ADRESS_08K  HC32_FLASH_START_ADRESS

/* ===================== Flash device Configuration ========================= */
extern const struct fal_flash_dev hc32_onchip_flash_08k;
extern struct fal_flash_dev nor_flash0;

/* flash device table */
#define FAL_FLASH_DEV_TABLE                                          \
{                                                                    \
    &hc32_onchip_flash_08k,                                           \
}
/* ====================== Partition Configuration ========================== */
#ifdef FAL_PART_HAS_TABLE_CFG
/* partition table */
#define FAL_PART_TABLE                                                               \
{                                                                                    \
    {FAL_PART_MAGIC_WORD,       "bl",       "onchip_flash_08k",              0,              128*1024, 0}, \
    {FAL_PART_MAGIC_WORD,       "app",      "onchip_flash_08k",              128*1024,        256*1024, 0}, \
    {FAL_PART_MAGIC_WORD,       "tranq0",   "onchip_flash_08k",              384*1024,       8*1024, 0}, \
    {FAL_PART_MAGIC_WORD,       "tranq1",   "onchip_flash_08k",              392*1024,       8*1024, 0}, \
    {FAL_PART_MAGIC_WORD,       "tranq2",   "onchip_flash_08k",              400*1024,       8*1024, 0}, \
    {FAL_PART_MAGIC_WORD,       "param",    "onchip_flash_08k",              408*1024,       16*1024, 0}, \
    {FAL_PART_MAGIC_WORD,       "fac",     "onchip_flash_08k",               0x100000,       256*1024, 0}, \
    {FAL_PART_MAGIC_WORD,       "regpart",     "onchip_flash_08k",           0x140000,       256*1024, 0}, \
    {FAL_PART_MAGIC_WORD,       "runparam",     "onchip_flash_08k",          0x160000,       256*1024, 0}, \
    {FAL_PART_MAGIC_WORD,       "download",     "onchip_flash_08k",              0x180000,        512*1024, 0}, \
}
#endif /* FAL_PART_HAS_TABLE_CFG */

#endif /* _FAL_CFG_H_ */
